package com.spring.hed.factory.adapter;

public class WaveForm {

    private static long counter;
    private final long id = counter++;

    @Override
    public String toString() {
        return "WaveForm{" +
                "id=" + id +
                '}';
    }
}

class Filter{
    public String name(){
        return getClass().getSimpleName();
    }

    public WaveForm process(WaveForm wf){
        return wf;
    }
}

class LowPass extends Filter{
    double cutoff;

    public LowPass(double cutoff) {
        this.cutoff = cutoff;
    }
    public WaveForm process(WaveForm wf){
        return wf;
    }
}

class HighPass extends Filter{
    double cutoff;

    public HighPass(double cutoff) {
        this.cutoff = cutoff;
    }
    public WaveForm process(WaveForm wf){
        return wf;
    }
}

class BandPass extends Filter{
    double lowCutoff,highCutoff;

    public BandPass(double lowCutoff, double highCutoff) {
        this.lowCutoff = lowCutoff;
        this.highCutoff = highCutoff;
    }

    public WaveForm process(WaveForm wf){
        return wf;
    }
}